[INFO] fetching crate libpijul 1.0.0-alpha.39...
[INFO] building libpijul-1.0.0-alpha.39 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate libpijul 1.0.0-alpha.39 into /workspace/builds/worker-14/source
[INFO] validating manifest of crates.io crate libpijul 1.0.0-alpha.39 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate libpijul 1.0.0-alpha.39
[INFO] finished tweaking crates.io crate libpijul 1.0.0-alpha.39
[INFO] tweaked toml for crates.io crate libpijul 1.0.0-alpha.39 written to /workspace/builds/worker-14/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 87a6c5d0c74f3836e5333625560a5aff50aec8bd53bdbf47f45ac7c5a59dd4c7
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "87a6c5d0c74f3836e5333625560a5aff50aec8bd53bdbf47f45ac7c5a59dd4c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "87a6c5d0c74f3836e5333625560a5aff50aec8bd53bdbf47f45ac7c5a59dd4c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87a6c5d0c74f3836e5333625560a5aff50aec8bd53bdbf47f45ac7c5a59dd4c7", kill_on_drop: false }`
[INFO] [stdout] 87a6c5d0c74f3836e5333625560a5aff50aec8bd53bdbf47f45ac7c5a59dd4c7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 3d2f7a2e05e205bb139719d7bc7567b077a0517b37306dddb64f63ef75f9479c
[INFO] running `Command { std: "docker" "start" "-a" "3d2f7a2e05e205bb139719d7bc7567b077a0517b37306dddb64f63ef75f9479c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]    Compiling cc v1.0.68
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling smallvec v1.6.1
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling subtle v2.4.0
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling zeroize v1.3.0
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling canonical-path v2.0.2
[INFO] [stderr]    Compiling diffs v0.4.1
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling instant v0.1.9
[INFO] [stderr]    Compiling tokio v1.6.1
[INFO] [stderr]    Compiling thread_local v1.1.3
[INFO] [stderr]    Compiling lru-cache v0.1.2
[INFO] [stderr]    Compiling aho-corasick v0.7.18
[INFO] [stderr]    Compiling bstr v0.2.16
[INFO] [stderr]    Compiling serde_derive v1.0.126
[INFO] [stderr]    Compiling thiserror-impl v1.0.25
[INFO] [stderr]    Compiling lock_api v0.4.4
[INFO] [stderr]    Compiling sanakirja-core v1.2.8
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.3
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling memmap v0.7.0
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling threadpool v1.8.1
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling blake3 v0.3.8
[INFO] [stderr]    Compiling zstd-seekable v0.1.7
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling thiserror v1.0.25
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling crypto-mac v0.8.0
[INFO] [stderr]    Compiling sanakirja v1.2.0
[INFO] [stderr]    Compiling regex v1.5.4
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]    Compiling globset v0.4.6
[INFO] [stderr]    Compiling ignore v0.4.17
[INFO] [stderr]    Compiling pijul-macros v0.4.0
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling curve25519-dalek v3.1.0
[INFO] [stderr]    Compiling toml v0.5.8
[INFO] [stderr]    Compiling libpijul v1.0.0-alpha.39 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 43.33s
[INFO] running `Command { std: "docker" "inspect" "3d2f7a2e05e205bb139719d7bc7567b077a0517b37306dddb64f63ef75f9479c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d2f7a2e05e205bb139719d7bc7567b077a0517b37306dddb64f63ef75f9479c", kill_on_drop: false }`
[INFO] [stdout] 3d2f7a2e05e205bb139719d7bc7567b077a0517b37306dddb64f63ef75f9479c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34a6633a2cf119b188b3d82cbb684809689996c331a927db012dc0428b21784b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "34a6633a2cf119b188b3d82cbb684809689996c331a927db012dc0428b21784b", kill_on_drop: false }`
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling env_logger v0.8.3
[INFO] [stderr]    Compiling libpijul v1.0.0-alpha.39 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:16:13
[INFO] [stdout]     |
[INFO] [stdout] 16  |         txn.add_file("dir/file").unwrap();
[INFO] [stdout]     |             ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:18:31
[INFO] [stdout]      |
[INFO] [stdout] 18   |         let mut channel = txn.open_or_create_channel("main").unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/add_file.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:19:51
[INFO] [stdout]     |
[INFO] [stdout] 19  |         record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:22:21
[INFO] [stdout]     |
[INFO] [stdout] 22  |         assert!(txn.add_file("dir/file").is_err());
[INFO] [stdout]     |                     ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:23:38
[INFO] [stdout]     |
[INFO] [stdout] 23  |           debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:23:9
[INFO] [stdout]     |
[INFO] [stdout] 23  |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:23:9
[INFO] [stdout]     |
[INFO] [stdout] 23  |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/add_file.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:24:13
[INFO] [stdout]      |
[INFO] [stdout] 24   |         txn.commit().unwrap();
[INFO] [stdout]      |             ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_dir` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:75:9
[INFO] [stdout]     |
[INFO] [stdout] 75  |     txn.add_dir("dir/file")?;
[INFO] [stdout]     |         ^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_dir`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_tracked` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:76:17
[INFO] [stdout]     |
[INFO] [stdout] 76  |     assert!(txn.is_tracked("dir").unwrap());
[INFO] [stdout]     |                 ^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `TxnTExt` defines an item `is_tracked`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub trait TxnTExt: pristine::TxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_tracked` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:77:17
[INFO] [stdout]     |
[INFO] [stdout] 77  |     assert!(txn.is_tracked("dir/file").unwrap());
[INFO] [stdout]     |                 ^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `TxnTExt` defines an item `is_tracked`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub trait TxnTExt: pristine::TxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:79:58
[INFO] [stdout]     |
[INFO] [stdout] 79  |     let (name, inode) = crate::fs::working_copy_children(&txn, Inode::ROOT)
[INFO] [stdout]     |                                                          ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:385:33
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub fn working_copy_children<T: TreeTxnT>(
[INFO] [stdout]     |                                 -------- required by this bound in `working_copy_children`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:79:25
[INFO] [stdout]     |
[INFO] [stdout] 79  |     let (name, inode) = crate::fs::working_copy_children(&txn, Inode::ROOT)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:358:41
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct WorkingCopyChildren<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyChildren`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:79:25
[INFO] [stdout]     |
[INFO] [stdout] 79  |       let (name, inode) = crate::fs::working_copy_children(&txn, Inode::ROOT)
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 80  | |         .unwrap()
[INFO] [stdout]     | |_________________^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:358:41
[INFO] [stdout]     |
[INFO] [stdout] 358 |   pub struct WorkingCopyChildren<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                           -------- required by this bound in `WorkingCopyChildren`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:81:10
[INFO] [stdout]     |
[INFO] [stdout] 81  |           .next()
[INFO] [stdout]     |            ^^^^ method cannot be called on `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:358:1
[INFO] [stdout]     |
[INFO] [stdout] 358 |   pub struct WorkingCopyChildren<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `next` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `is_directory` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:85:17
[INFO] [stdout]     |
[INFO] [stdout] 85  |     assert!(txn.is_directory(inode).unwrap());
[INFO] [stdout]     |                 ^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `TxnTExt` defines an item `is_directory`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub trait TxnTExt: pristine::TxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:87:5
[INFO] [stdout]     |
[INFO] [stdout] 87  |     debug_tree(&txn, "debug_tree")?;
[INFO] [stdout]     |     ^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:826:49
[INFO] [stdout]     |
[INFO] [stdout] 826 | pub fn debug_tree<P: AsRef<std::path::Path>, T: TreeTxnT>(
[INFO] [stdout]     |                                                 -------- required by this bound in `pristine::debug_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:88:18
[INFO] [stdout]     |
[INFO] [stdout] 88  |     let mut it = crate::fs::working_copy_children(&txn, inode).unwrap();
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:385:33
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub fn working_copy_children<T: TreeTxnT>(
[INFO] [stdout]     |                                 -------- required by this bound in `working_copy_children`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/add_file.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let mut it = crate::fs::working_copy_children(&txn, inode).unwrap();
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:88:18
[INFO] [stdout]     |
[INFO] [stdout] 88  |     let mut it = crate::fs::working_copy_children(&txn, inode).unwrap();
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:358:41
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct WorkingCopyChildren<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyChildren`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:89:24
[INFO] [stdout]     |
[INFO] [stdout] 89  |       let (name, _) = it.next().unwrap().unwrap();
[INFO] [stdout]     |                          ^^^^ method cannot be called on `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:358:1
[INFO] [stdout]     |
[INFO] [stdout] 358 |   pub struct WorkingCopyChildren<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `next` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `next` exists for struct `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:91:16
[INFO] [stdout]     |
[INFO] [stdout] 91  |       assert!(it.next().is_none());
[INFO] [stdout]     |                  ^^^^ method cannot be called on `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:358:1
[INFO] [stdout]     |
[INFO] [stdout] 358 |   pub struct WorkingCopyChildren<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `next` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyChildren<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/add_file.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let (name, inode) = crate::fs::working_copy_children(&txn, Inode::ROOT)
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         txn.add_file("dir/file").unwrap();
[INFO] [stdout]     |             ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:108:31
[INFO] [stdout]      |
[INFO] [stdout] 108  |         let mut channel = txn.open_or_create_channel("main").unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |         record_all_output(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:111:58
[INFO] [stdout]     |
[INFO] [stdout] 111 |         record_all_output(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:112:38
[INFO] [stdout]     |
[INFO] [stdout] 112 |           debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:113:58
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                                                          ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:453:29
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn iter_working_copy<T: TreeTxnT>(txn: &T, root: Inode) -> WorkingCopyIterator<T> {
[INFO] [stdout]     |                             -------- required by this bound in `iter_working_copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map` exists for struct `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:114:14
[INFO] [stdout]     |
[INFO] [stdout] 114 |               .map(|f| f.unwrap().1)
[INFO] [stdout]     |                ^^^ method cannot be called on `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 |   pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `map` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             which is required by `&mut WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:41
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `remove_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         txn.remove_file("dir").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `remove_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:121:58
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                                                          ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:453:29
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn iter_working_copy<T: TreeTxnT>(txn: &T, root: Inode) -> WorkingCopyIterator<T> {
[INFO] [stdout]     |                             -------- required by this bound in `iter_working_copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map` exists for struct `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:122:14
[INFO] [stdout]     |
[INFO] [stdout] 122 |               .map(|n| n.unwrap().1)
[INFO] [stdout]     |                ^^^ method cannot be called on `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 |   pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `map` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             which is required by `&mut WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:121:29
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:41
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         record_all_output(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:127:58
[INFO] [stdout]     |
[INFO] [stdout] 127 |         record_all_output(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:128:38
[INFO] [stdout]     |
[INFO] [stdout] 128 |           debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:130:58
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                                                          ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:453:29
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn iter_working_copy<T: TreeTxnT>(txn: &T, root: Inode) -> WorkingCopyIterator<T> {
[INFO] [stdout]     |                             -------- required by this bound in `iter_working_copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map` exists for struct `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:131:14
[INFO] [stdout]     |
[INFO] [stdout] 131 |               .map(|n| n.unwrap().1)
[INFO] [stdout]     |                ^^^ method cannot be called on `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 |   pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `map` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             which is required by `&mut WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:130:29
[INFO] [stdout]     |
[INFO] [stdout] 130 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:41
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |         txn.add_file("dir2/file").unwrap();
[INFO] [stdout]     |             ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `remove_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         txn.remove_file("dir2").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `remove_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:139:46
[INFO] [stdout]     |
[INFO] [stdout] 139 |         assert!(crate::fs::iter_working_copy(&txn, Inode::ROOT).all(|f| f.unwrap().1 != "dir2"));
[INFO] [stdout]     |                                              ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:453:29
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn iter_working_copy<T: TreeTxnT>(txn: &T, root: Inode) -> WorkingCopyIterator<T> {
[INFO] [stdout]     |                             -------- required by this bound in `iter_working_copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `all` exists for struct `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:139:65
[INFO] [stdout]     |
[INFO] [stdout] 139 |           assert!(crate::fs::iter_working_copy(&txn, Inode::ROOT).all(|f| f.unwrap().1 != "dir2"));
[INFO] [stdout]     |                                                                   ^^^ method cannot be called on `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 |   pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `all` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:139:17
[INFO] [stdout]     |
[INFO] [stdout] 139 |         assert!(crate::fs::iter_working_copy(&txn, Inode::ROOT).all(|f| f.unwrap().1 != "dir2"));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:41
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `remove_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |         assert!(txn.remove_file("dir2").is_err());
[INFO] [stdout]     |                     ^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `remove_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:141:13
[INFO] [stdout]      |
[INFO] [stdout] 141  |         txn.commit().unwrap();
[INFO] [stdout]      |             ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     txn.add_file("a/b/c/d/e")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:165:27
[INFO] [stdout]      |
[INFO] [stdout] 165  |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:168:54
[INFO] [stdout]     |
[INFO] [stdout] 168 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:169:34
[INFO] [stdout]     |
[INFO] [stdout] 169 |       debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |                                    ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:170:54
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                                                      ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:453:29
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn iter_working_copy<T: TreeTxnT>(txn: &T, root: Inode) -> WorkingCopyIterator<T> {
[INFO] [stdout]     |                             -------- required by this bound in `iter_working_copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map` exists for struct `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:171:10
[INFO] [stdout]     |
[INFO] [stdout] 171 |           .map(|f| f.unwrap().1)
[INFO] [stdout]     |            ^^^ method cannot be called on `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 |   pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `map` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             which is required by `&mut WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:41
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:177:54
[INFO] [stdout]     |
[INFO] [stdout] 177 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:178:34
[INFO] [stdout]     |
[INFO] [stdout] 178 |       debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |                                    ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | /     output::output_repository_no_pending(
[INFO] [stdout] 182 | |         &mut repo2,
[INFO] [stdout] 183 | |         &changes,
[INFO] [stdout] 184 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 188 | |         None,
[INFO] [stdout] 189 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:192:54
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                                                      ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:453:29
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn iter_working_copy<T: TreeTxnT>(txn: &T, root: Inode) -> WorkingCopyIterator<T> {
[INFO] [stdout]     |                             -------- required by this bound in `iter_working_copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map` exists for struct `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:193:10
[INFO] [stdout]     |
[INFO] [stdout] 193 |           .map(|n| n.unwrap().1)
[INFO] [stdout]     |            ^^^ method cannot be called on `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 |   pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `map` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             which is required by `&mut WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:41
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |     txn.add_file("dir/file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:211:27
[INFO] [stdout]      |
[INFO] [stdout] 211  |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:214:54
[INFO] [stdout]     |
[INFO] [stdout] 214 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:211:23
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:215:34
[INFO] [stdout]     |
[INFO] [stdout] 215 |       debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |                                    ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:221:5
[INFO] [stdout]     |
[INFO] [stdout] 221 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:221:54
[INFO] [stdout]     |
[INFO] [stdout] 221 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:225:34
[INFO] [stdout]     |
[INFO] [stdout] 225 |       debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |                                    ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:225:5
[INFO] [stdout]     |
[INFO] [stdout] 225 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:226:9
[INFO] [stdout]      |
[INFO] [stdout] 226  |     txn.commit()?;
[INFO] [stdout]      |         ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |     txn.add_file("dir/file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:241:27
[INFO] [stdout]      |
[INFO] [stdout] 241  |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:244:54
[INFO] [stdout]     |
[INFO] [stdout] 244 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:241:23
[INFO] [stdout]     |
[INFO] [stdout] 241 |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:250:5
[INFO] [stdout]     |
[INFO] [stdout] 250 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:250:54
[INFO] [stdout]     |
[INFO] [stdout] 250 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:255:34
[INFO] [stdout]     |
[INFO] [stdout] 255 |       debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |                                    ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:256:54
[INFO] [stdout]     |
[INFO] [stdout] 256 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:257:34
[INFO] [stdout]     |
[INFO] [stdout] 257 |       debug_to_file(&txn, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |                                    ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     debug_to_file(&txn, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     debug_to_file(&txn, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     debug_to_file(&txn, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:262:54
[INFO] [stdout]     |
[INFO] [stdout] 262 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:266:34
[INFO] [stdout]     |
[INFO] [stdout] 266 |       debug_to_file(&txn, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |                                    ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     debug_to_file(&txn, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     debug_to_file(&txn, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     debug_to_file(&txn, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:267:9
[INFO] [stdout]      |
[INFO] [stdout] 267  |     txn.commit()?;
[INFO] [stdout]      |         ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:283:15
[INFO] [stdout]     |
[INFO] [stdout] 283 |     txn_alice.add_file("file")?;
[INFO] [stdout]     |               ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:285:33
[INFO] [stdout]      |
[INFO] [stdout] 285  |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:286:18
[INFO] [stdout]     |
[INFO] [stdout] 286 |     let alice0 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:286:72
[INFO] [stdout]     |
[INFO] [stdout] 286 |     let alice0 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:285:23
[INFO] [stdout]     |
[INFO] [stdout] 285 |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:287:40
[INFO] [stdout]     |
[INFO] [stdout] 287 |       debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:287:5
[INFO] [stdout]     |
[INFO] [stdout] 287 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:287:5
[INFO] [stdout]     |
[INFO] [stdout] 287 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:287:5
[INFO] [stdout]     |
[INFO] [stdout] 287 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:290:18
[INFO] [stdout]     |
[INFO] [stdout] 290 |     let alice1 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:290:72
[INFO] [stdout]     |
[INFO] [stdout] 290 |     let alice1 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:291:40
[INFO] [stdout]     |
[INFO] [stdout] 291 |       debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:291:5
[INFO] [stdout]     |
[INFO] [stdout] 291 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:296:31
[INFO] [stdout]      |
[INFO] [stdout] 296  |     let mut channel = txn_bob.open_or_create_channel("main")?;
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:297:5
[INFO] [stdout]     |
[INFO] [stdout] 297 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice0)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:297:49
[INFO] [stdout]     |
[INFO] [stdout] 297 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice0)?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:297:5
[INFO] [stdout]     |
[INFO] [stdout] 297 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice0)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:296:23
[INFO] [stdout]     |
[INFO] [stdout] 296 |     let mut channel = txn_bob.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 298 | /     output::output_repository_no_pending(
[INFO] [stdout] 299 | |         &mut repo_bob,
[INFO] [stdout] 300 | |         &changes,
[INFO] [stdout] 301 | |         &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | |         None,
[INFO] [stdout] 306 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:307:38
[INFO] [stdout]     |
[INFO] [stdout] 307 |       debug_to_file(&txn_bob, &channel.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 |     debug_to_file(&txn_bob, &channel.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 |     debug_to_file(&txn_bob, &channel.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 |     debug_to_file(&txn_bob, &channel.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice1)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:311:49
[INFO] [stdout]     |
[INFO] [stdout] 311 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice1)?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice1)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:316:9
[INFO] [stdout]     |
[INFO] [stdout] 316 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 | /     output::output_repository_no_pending(
[INFO] [stdout] 313 | |         &mut repo_bob,
[INFO] [stdout] 314 | |         &changes,
[INFO] [stdout] 315 | |         &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 319 | |         None,
[INFO] [stdout] 320 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:321:38
[INFO] [stdout]     |
[INFO] [stdout] 321 |       debug_to_file(&txn_bob, &channel.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     debug_to_file(&txn_bob, &channel.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     debug_to_file(&txn_bob, &channel.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:321:5
[INFO] [stdout]     |
[INFO] [stdout] 321 |     debug_to_file(&txn_bob, &channel.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |     txn_alice.add_file("file")?;
[INFO] [stdout]     |               ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:343:33
[INFO] [stdout]      |
[INFO] [stdout] 343  |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:344:18
[INFO] [stdout]     |
[INFO] [stdout] 344 |     let alice0 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:344:72
[INFO] [stdout]     |
[INFO] [stdout] 344 |     let alice0 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:343:23
[INFO] [stdout]     |
[INFO] [stdout] 343 |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:346:40
[INFO] [stdout]     |
[INFO] [stdout] 346 |       debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:346:5
[INFO] [stdout]     |
[INFO] [stdout] 346 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_dir` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:347:15
[INFO] [stdout]     |
[INFO] [stdout] 347 |     txn_alice.add_dir("dir")?;
[INFO] [stdout]     |               ^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_dir`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:348:15
[INFO] [stdout]     |
[INFO] [stdout] 348 |     txn_alice.move_file("file", "dir/file2")?;
[INFO] [stdout]     |               ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     debug_tree(&txn_alice, "debug_tree")?;
[INFO] [stdout]     |     ^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:826:49
[INFO] [stdout]     |
[INFO] [stdout] 826 | pub fn debug_tree<P: AsRef<std::path::Path>, T: TreeTxnT>(
[INFO] [stdout]     |                                                 -------- required by this bound in `pristine::debug_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:353:18
[INFO] [stdout]     |
[INFO] [stdout] 353 |     let alice1 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:353:72
[INFO] [stdout]     |
[INFO] [stdout] 353 |     let alice1 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:355:40
[INFO] [stdout]     |
[INFO] [stdout] 355 |       debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 355 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:356:5
[INFO] [stdout]     |
[INFO] [stdout] 356 |     debug_tree(&txn_alice, "debug_tree")?;
[INFO] [stdout]     |     ^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:826:49
[INFO] [stdout]     |
[INFO] [stdout] 826 | pub fn debug_tree<P: AsRef<std::path::Path>, T: TreeTxnT>(
[INFO] [stdout]     |                                                 -------- required by this bound in `pristine::debug_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:357:18
[INFO] [stdout]     |
[INFO] [stdout] 357 |     debug_inodes(&txn_alice);
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:888:24
[INFO] [stdout]     |
[INFO] [stdout] 888 | pub fn debug_inodes<T: TreeTxnT>(txn: &T) {
[INFO] [stdout]     |                        -------- required by this bound in `pristine::debug_inodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:362:18
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let alice2 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:362:72
[INFO] [stdout]     |
[INFO] [stdout] 362 |     let alice2 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:363:40
[INFO] [stdout]     |
[INFO] [stdout] 363 |       debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:363:5
[INFO] [stdout]     |
[INFO] [stdout] 363 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:363:5
[INFO] [stdout]     |
[INFO] [stdout] 363 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:363:5
[INFO] [stdout]     |
[INFO] [stdout] 363 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:364:15
[INFO] [stdout]      |
[INFO] [stdout] 364  |     txn_alice.commit()?;
[INFO] [stdout]      |               ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:369:31
[INFO] [stdout]      |
[INFO] [stdout] 369  |     let mut channel = txn_bob.open_or_create_channel("main")?;
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:370:5
[INFO] [stdout]     |
[INFO] [stdout] 370 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice0)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:370:49
[INFO] [stdout]     |
[INFO] [stdout] 370 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice0)?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:370:5
[INFO] [stdout]     |
[INFO] [stdout] 370 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice0)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:369:23
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let mut channel = txn_bob.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:375:9
[INFO] [stdout]     |
[INFO] [stdout] 375 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 371 | /     output::output_repository_no_pending(
[INFO] [stdout] 372 | |         &mut repo_bob,
[INFO] [stdout] 373 | |         &changes,
[INFO] [stdout] 374 | |         &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 378 | |         None,
[INFO] [stdout] 379 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:382:5
[INFO] [stdout]     |
[INFO] [stdout] 382 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice1)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:382:49
[INFO] [stdout]     |
[INFO] [stdout] 382 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice1)?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:382:5
[INFO] [stdout]     |
[INFO] [stdout] 382 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice1)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 | /     output::output_repository_no_pending(
[INFO] [stdout] 384 | |         &mut repo_bob,
[INFO] [stdout] 385 | |         &changes,
[INFO] [stdout] 386 | |         &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 390 | |         None,
[INFO] [stdout] 391 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice2)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:396:49
[INFO] [stdout]     |
[INFO] [stdout] 396 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice2)?;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:396:5
[INFO] [stdout]     |
[INFO] [stdout] 396 |     apply::apply_change(&changes, &mut txn_bob, &mut channel, &alice2)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:397:5
[INFO] [stdout]     |
[INFO] [stdout] 397 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:401:9
[INFO] [stdout]     |
[INFO] [stdout] 401 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:397:5
[INFO] [stdout]     |
[INFO] [stdout] 397 | /     output::output_repository_no_pending(
[INFO] [stdout] 398 | |         &mut repo_bob,
[INFO] [stdout] 399 | |         &changes,
[INFO] [stdout] 400 | |         &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 404 | |         None,
[INFO] [stdout] 405 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:424:15
[INFO] [stdout]     |
[INFO] [stdout] 424 |     txn_alice.add_file("file")?;
[INFO] [stdout]     |               ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:425:15
[INFO] [stdout]     |
[INFO] [stdout] 425 |     txn_alice.add_file("file2")?;
[INFO] [stdout]     |               ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:427:33
[INFO] [stdout]      |
[INFO] [stdout] 427  |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:428:5
[INFO] [stdout]     |
[INFO] [stdout] 428 |     record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:428:59
[INFO] [stdout]     |
[INFO] [stdout] 428 |     record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:427:23
[INFO] [stdout]     |
[INFO] [stdout] 427 |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:429:15
[INFO] [stdout]     |
[INFO] [stdout] 429 |     txn_alice.move_file("file", "file2")?;
[INFO] [stdout]     |               ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 431 |     record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:431:59
[INFO] [stdout]     |
[INFO] [stdout] 431 |     record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:432:40
[INFO] [stdout]     |
[INFO] [stdout] 432 |       debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 432 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 432 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 432 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:459:15
[INFO] [stdout]     |
[INFO] [stdout] 459 |     txn_alice.add_file("a")?;
[INFO] [stdout]     |               ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:461:33
[INFO] [stdout]      |
[INFO] [stdout] 461  |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:462:18
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let alice1 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:462:72
[INFO] [stdout]     |
[INFO] [stdout] 462 |     let alice1 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:461:23
[INFO] [stdout]     |
[INFO] [stdout] 461 |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:464:15
[INFO] [stdout]     |
[INFO] [stdout] 464 |     txn_alice.move_file("a", "b")?;
[INFO] [stdout]     |               ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:466:18
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let alice2 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:466:72
[INFO] [stdout]     |
[INFO] [stdout] 466 |     let alice2 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:467:40
[INFO] [stdout]     |
[INFO] [stdout] 467 |       debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:470:15
[INFO] [stdout]     |
[INFO] [stdout] 470 |     txn_alice.move_file("b", "a")?;
[INFO] [stdout]     |               ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:472:18
[INFO] [stdout]     |
[INFO] [stdout] 472 |     let alice3 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:472:72
[INFO] [stdout]     |
[INFO] [stdout] 472 |     let alice3 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:473:40
[INFO] [stdout]     |
[INFO] [stdout] 473 |       debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:473:5
[INFO] [stdout]     |
[INFO] [stdout] 473 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:473:5
[INFO] [stdout]     |
[INFO] [stdout] 473 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:473:5
[INFO] [stdout]     |
[INFO] [stdout] 473 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:479:35
[INFO] [stdout]      |
[INFO] [stdout] 479  |     let mut channel_bob = txn_bob.open_or_create_channel("main")?;
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `apply_change` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:481:10
[INFO] [stdout]     |
[INFO] [stdout] 481 |         .apply_change(&changes, &mut channel_bob, &alice1)
[INFO] [stdout]     |          ^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `apply_change`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:483:5
[INFO] [stdout]     |
[INFO] [stdout] 483 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:483:5
[INFO] [stdout]     |
[INFO] [stdout] 483 | /     output::output_repository_no_pending(
[INFO] [stdout] 484 | |         &mut repo_bob,
[INFO] [stdout] 485 | |         &changes,
[INFO] [stdout] 486 | |         &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 490 | |         None,
[INFO] [stdout] 491 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:479:27
[INFO] [stdout]     |
[INFO] [stdout] 479 |     let mut channel_bob = txn_bob.open_or_create_channel("main")?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:493:16
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let bob1 = record_all(&mut repo_bob, &changes, &mut txn_bob, &mut channel_bob, "")?;
[INFO] [stdout]     |                ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:493:66
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let bob1 = record_all(&mut repo_bob, &changes, &mut txn_bob, &mut channel_bob, "")?;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:494:42
[INFO] [stdout]     |
[INFO] [stdout] 494 |       debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |                                            ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `apply_change` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:496:10
[INFO] [stdout]     |
[INFO] [stdout] 496 |         .apply_change(&changes, &mut channel_bob, &alice2)
[INFO] [stdout]     |          ^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `apply_change`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |       debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |                                            ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:503:9
[INFO] [stdout]     |
[INFO] [stdout] 503 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:499:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | /     output::output_repository_no_pending(
[INFO] [stdout] 500 | |         &mut repo_bob,
[INFO] [stdout] 501 | |         &changes,
[INFO] [stdout] 502 | |         &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 506 | |         None,
[INFO] [stdout] 507 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `apply_change` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:510:10
[INFO] [stdout]     |
[INFO] [stdout] 510 |         .apply_change(&changes, &mut channel_bob, &alice3)
[INFO] [stdout]     |          ^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `apply_change`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:512:42
[INFO] [stdout]     |
[INFO] [stdout] 512 |       debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob3").unwrap();
[INFO] [stdout]     |                                            ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:512:5
[INFO] [stdout]     |
[INFO] [stdout] 512 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:512:5
[INFO] [stdout]     |
[INFO] [stdout] 512 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:512:5
[INFO] [stdout]     |
[INFO] [stdout] 512 |     debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:513:5
[INFO] [stdout]     |
[INFO] [stdout] 513 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:517:9
[INFO] [stdout]     |
[INFO] [stdout] 517 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:513:5
[INFO] [stdout]     |
[INFO] [stdout] 513 | /     output::output_repository_no_pending(
[INFO] [stdout] 514 | |         &mut repo_bob,
[INFO] [stdout] 515 | |         &changes,
[INFO] [stdout] 516 | |         &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 520 | |         None,
[INFO] [stdout] 521 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:525:20
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let bob2 = record_all(&mut repo_bob, &changes, &mut txn_bob, &mut channel_bob, "")?;
[INFO] [stdout]     |                    ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:525:70
[INFO] [stdout]     |
[INFO] [stdout] 525 |         let bob2 = record_all(&mut repo_bob, &changes, &mut txn_bob, &mut channel_bob, "")?;
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:526:46
[INFO] [stdout]     |
[INFO] [stdout] 526 |           debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob4").unwrap();
[INFO] [stdout]     |                                                ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:526:9
[INFO] [stdout]     |
[INFO] [stdout] 526 |         debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob4").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:526:9
[INFO] [stdout]     |
[INFO] [stdout] 526 |         debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob4").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:526:9
[INFO] [stdout]     |
[INFO] [stdout] 526 |         debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob4").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `apply_change` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:530:14
[INFO] [stdout]     |
[INFO] [stdout] 530 |             .apply_change(&changes, &mut channel, &bob1)
[INFO] [stdout]     |              ^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `apply_change`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:532:44
[INFO] [stdout]     |
[INFO] [stdout] 532 |           debug_to_file(&txn_alice, &channel.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |                                              ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:532:9
[INFO] [stdout]     |
[INFO] [stdout] 532 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:532:9
[INFO] [stdout]     |
[INFO] [stdout] 532 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:532:9
[INFO] [stdout]     |
[INFO] [stdout] 532 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:534:25
[INFO] [stdout]     |
[INFO] [stdout] 534 |         let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:538:13
[INFO] [stdout]     |
[INFO] [stdout] 538 |             &mut channel,
[INFO] [stdout]     |             ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:534:25
[INFO] [stdout]     |
[INFO] [stdout] 534 |           let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 535 | |             &mut repo_alice,
[INFO] [stdout] 536 | |             &changes,
[INFO] [stdout] 537 | |             &mut txn_alice,
[INFO] [stdout] ...   |
[INFO] [stdout] 541 | |             None,
[INFO] [stdout] 542 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `apply_change` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:548:14
[INFO] [stdout]     |
[INFO] [stdout] 548 |             .apply_change(&changes, &mut channel, &bob2)
[INFO] [stdout]     |              ^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `apply_change`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:550:44
[INFO] [stdout]     |
[INFO] [stdout] 550 |           debug_to_file(&txn_alice, &channel.borrow(), "debug_alice3").unwrap();
[INFO] [stdout]     |                                              ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout] 550 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice3").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout] 550 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice3").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout] 550 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice3").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:551:25
[INFO] [stdout]     |
[INFO] [stdout] 551 |         let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:555:13
[INFO] [stdout]     |
[INFO] [stdout] 555 |             &mut channel,
[INFO] [stdout]     |             ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:551:25
[INFO] [stdout]     |
[INFO] [stdout] 551 |           let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 552 | |             &mut repo_alice,
[INFO] [stdout] 553 | |             &changes,
[INFO] [stdout] 554 | |             &mut txn_alice,
[INFO] [stdout] ...   |
[INFO] [stdout] 558 | |             None,
[INFO] [stdout] 559 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |         let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:568:13
[INFO] [stdout]     |
[INFO] [stdout] 568 |             &mut channel_bob,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |           let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 565 | |             &mut repo_bob,
[INFO] [stdout] 566 | |             &changes,
[INFO] [stdout] 567 | |             &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 571 | |             None,
[INFO] [stdout] 572 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:573:46
[INFO] [stdout]     |
[INFO] [stdout] 573 |           debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob4").unwrap();
[INFO] [stdout]     |                                                ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:573:9
[INFO] [stdout]     |
[INFO] [stdout] 573 |         debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob4").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:573:9
[INFO] [stdout]     |
[INFO] [stdout] 573 |         debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob4").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:573:9
[INFO] [stdout]     |
[INFO] [stdout] 573 |         debug_to_file(&txn_bob, &channel_bob.borrow(), "debug_bob4").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:577:9
[INFO] [stdout]     |
[INFO] [stdout] 577 |         output::output_repository_no_pending(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:581:13
[INFO] [stdout]     |
[INFO] [stdout] 581 |             &mut channel_bob,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:577:9
[INFO] [stdout]     |
[INFO] [stdout] 577 | /         output::output_repository_no_pending(
[INFO] [stdout] 578 | |             &mut repo_bob,
[INFO] [stdout] 579 | |             &changes,
[INFO] [stdout] 580 | |             &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 584 | |             None,
[INFO] [stdout] 585 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:588:20
[INFO] [stdout]     |
[INFO] [stdout] 588 |         let bob2 = record_all(&mut repo_bob, &changes, &mut txn_bob, &mut channel_bob, "")?;
[INFO] [stdout]     |                    ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:588:70
[INFO] [stdout]     |
[INFO] [stdout] 588 |         let bob2 = record_all(&mut repo_bob, &changes, &mut txn_bob, &mut channel_bob, "")?;
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `apply_change` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:592:14
[INFO] [stdout]     |
[INFO] [stdout] 592 |             .apply_change(&changes, &mut channel, &bob1)
[INFO] [stdout]     |              ^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `apply_change`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:594:44
[INFO] [stdout]     |
[INFO] [stdout] 594 |           debug_to_file(&txn_alice, &channel.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |                                              ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:594:9
[INFO] [stdout]     |
[INFO] [stdout] 594 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:594:9
[INFO] [stdout]     |
[INFO] [stdout] 594 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:594:9
[INFO] [stdout]     |
[INFO] [stdout] 594 |         debug_to_file(&txn_alice, &channel.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:596:25
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:600:13
[INFO] [stdout]     |
[INFO] [stdout] 600 |             &mut channel,
[INFO] [stdout]     |             ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:596:25
[INFO] [stdout]     |
[INFO] [stdout] 596 |           let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 597 | |             &mut repo_alice,
[INFO] [stdout] 598 | |             &changes,
[INFO] [stdout] 599 | |             &mut txn_alice,
[INFO] [stdout] ...   |
[INFO] [stdout] 603 | |             None,
[INFO] [stdout] 604 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `apply_change` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:614:14
[INFO] [stdout]     |
[INFO] [stdout] 614 |             .apply_change(&changes, &mut channel, &bob2)
[INFO] [stdout]     |              ^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `apply_change`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:616:25
[INFO] [stdout]     |
[INFO] [stdout] 616 |         let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:620:13
[INFO] [stdout]     |
[INFO] [stdout] 620 |             &mut channel,
[INFO] [stdout]     |             ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:616:25
[INFO] [stdout]     |
[INFO] [stdout] 616 |           let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 617 | |             &mut repo_alice,
[INFO] [stdout] 618 | |             &changes,
[INFO] [stdout] 619 | |             &mut txn_alice,
[INFO] [stdout] ...   |
[INFO] [stdout] 623 | |             None,
[INFO] [stdout] 624 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:629:25
[INFO] [stdout]     |
[INFO] [stdout] 629 |         let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:633:13
[INFO] [stdout]     |
[INFO] [stdout] 633 |             &mut channel_bob,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:629:25
[INFO] [stdout]     |
[INFO] [stdout] 629 |           let conflicts = output::output_repository_no_pending(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 630 | |             &mut repo_bob,
[INFO] [stdout] 631 | |             &changes,
[INFO] [stdout] 632 | |             &mut txn_bob,
[INFO] [stdout] ...   |
[INFO] [stdout] 636 | |             None,
[INFO] [stdout] 637 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:657:15
[INFO] [stdout]     |
[INFO] [stdout] 657 |     txn_alice.add_file("dir/file")?;
[INFO] [stdout]     |               ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:658:15
[INFO] [stdout]     |
[INFO] [stdout] 658 |     txn_alice.add_file("dir/file2")?;
[INFO] [stdout]     |               ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:660:33
[INFO] [stdout]      |
[INFO] [stdout] 660  |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:661:18
[INFO] [stdout]     |
[INFO] [stdout] 661 |     let alice0 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:661:72
[INFO] [stdout]     |
[INFO] [stdout] 661 |     let alice0 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:660:23
[INFO] [stdout]     |
[INFO] [stdout] 660 |     let mut channel = txn_alice.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:663:40
[INFO] [stdout]     |
[INFO] [stdout] 663 |       debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:663:5
[INFO] [stdout]     |
[INFO] [stdout] 663 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:663:5
[INFO] [stdout]     |
[INFO] [stdout] 663 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:663:5
[INFO] [stdout]     |
[INFO] [stdout] 663 |     debug_to_file(&txn_alice, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:668:15
[INFO] [stdout]     |
[INFO] [stdout] 668 |     txn_alice.move_file("dir/file", "dir2/file")?;
[INFO] [stdout]     |               ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:669:15
[INFO] [stdout]     |
[INFO] [stdout] 669 |     txn_alice.move_file("dir/file2", "dir2/file2")?;
[INFO] [stdout]     |               ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:671:18
[INFO] [stdout]     |
[INFO] [stdout] 671 |     let alice1 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:671:72
[INFO] [stdout]     |
[INFO] [stdout] 671 |     let alice1 = record_all(&mut repo_alice, &changes, &mut txn_alice, &mut channel, "")?;
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:673:40
[INFO] [stdout]     |
[INFO] [stdout] 673 |       debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:673:5
[INFO] [stdout]     |
[INFO] [stdout] 673 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:673:5
[INFO] [stdout]     |
[INFO] [stdout] 673 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:673:5
[INFO] [stdout]     |
[INFO] [stdout] 673 |     debug_to_file(&txn_alice, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:678:9
[INFO] [stdout]     |
[INFO] [stdout] 678 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:674:5
[INFO] [stdout]     |
[INFO] [stdout] 674 | /     output::output_repository_no_pending(
[INFO] [stdout] 675 | |         &mut repo_alice,
[INFO] [stdout] 676 | |         &changes,
[INFO] [stdout] 677 | |         &mut txn_alice,
[INFO] [stdout] ...   |
[INFO] [stdout] 681 | |         None,
[INFO] [stdout] 682 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:683:40
[INFO] [stdout]     |
[INFO] [stdout] 683 |       debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:683:5
[INFO] [stdout]     |
[INFO] [stdout] 683 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:683:5
[INFO] [stdout]     |
[INFO] [stdout] 683 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:683:5
[INFO] [stdout]     |
[INFO] [stdout] 683 |     debug_to_file(&txn_alice, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:687:15
[INFO] [stdout]     |
[INFO] [stdout] 687 |     txn_alice.move_file("dir2/file", "dir/file").unwrap_or(());
[INFO] [stdout]     |               ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:688:15
[INFO] [stdout]     |
[INFO] [stdout] 688 |     txn_alice.move_file("dir2/file2", "dir/file2").unwrap_or(());
[INFO] [stdout]     |               ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelMutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:693:11
[INFO] [stdout]     |
[INFO] [stdout] 693 |     state.record(
[INFO] [stdout]     |           ^^^^^^ the trait `pristine::ChannelMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:693:11
[INFO] [stdout]     |
[INFO] [stdout] 693 |     state.record(
[INFO] [stdout]     |           ^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow_mut` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:696:22
[INFO] [stdout]     |
[INFO] [stdout] 696 |           &mut channel.borrow_mut(),
[INFO] [stdout]     |                        ^^^^^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow_mut` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::BorrowMut;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelMutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:702:11
[INFO] [stdout]     |
[INFO] [stdout] 702 |     state.record(
[INFO] [stdout]     |           ^^^^^^ the trait `pristine::ChannelMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:702:11
[INFO] [stdout]     |
[INFO] [stdout] 702 |     state.record(
[INFO] [stdout]     |           ^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow_mut` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:705:22
[INFO] [stdout]     |
[INFO] [stdout] 705 |           &mut channel.borrow_mut(),
[INFO] [stdout]     |                        ^^^^^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow_mut` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::BorrowMut;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:715:34
[INFO] [stdout]     |
[INFO] [stdout] 715 |         .map(|rec| rec.globalize(&txn_alice).unwrap())
[INFO] [stdout]     |                                  ^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]     --> src/tests/add_file.rs:717:18
[INFO] [stdout]      |
[INFO] [stdout] 717  |     let alice2 = crate::change::Change::make_change(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      | 
[INFO] [stdout]     ::: src/change.rs:1166:41
[INFO] [stdout]      |
[INFO] [stdout] 1166 |     pub fn make_change<T: ChannelTxnT + DepsTxnT<DepsError = <T as GraphTxnT>::GraphError>>(
[INFO] [stdout]      |                                         -------------------------------------------------- required by this bound in `change::LocalChange::<L>::make_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::DepsTxnT` is not satisfied
[INFO] [stdout]     --> src/tests/add_file.rs:717:18
[INFO] [stdout]      |
[INFO] [stdout] 717  |     let alice2 = crate::change::Change::make_change(
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::DepsTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      | 
[INFO] [stdout]     ::: src/change.rs:1166:50
[INFO] [stdout]      |
[INFO] [stdout] 1166 |     pub fn make_change<T: ChannelTxnT + DepsTxnT<DepsError = <T as GraphTxnT>::GraphError>>(
[INFO] [stdout]      |                                                  ---------------------------------------- required by this bound in `change::LocalChange::<L>::make_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelMutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:732:5
[INFO] [stdout]     |
[INFO] [stdout] 732 |     apply::apply_local_change(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn apply_local_change<
[INFO] [stdout]     |        ------------------ required by a bound in this
[INFO] [stdout] 340 |     T: ChannelMutTxnT
[INFO] [stdout]     |        -------------- required by this bound in `apply_local_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::DepsMutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:732:5
[INFO] [stdout]     |
[INFO] [stdout] 732 |     apply::apply_local_change(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::DepsMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn apply_local_change<
[INFO] [stdout]     |        ------------------ required by a bound in this
[INFO] [stdout] 340 |     T: ChannelMutTxnT
[INFO] [stdout] 341 |         + DepsMutTxnT<DepsError = <T as GraphTxnT>::GraphError>
[INFO] [stdout]     |           ----------------------------------------------------- required by this bound in `apply_local_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeMutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:732:5
[INFO] [stdout]     |
[INFO] [stdout] 732 |     apply::apply_local_change(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn apply_local_change<
[INFO] [stdout]     |        ------------------ required by a bound in this
[INFO] [stdout] ...
[INFO] [stdout] 342 |         + TreeMutTxnT<TreeError = <T as GraphTxnT>::GraphError>,
[INFO] [stdout]     |           ----------------------------------------------------- required by this bound in `apply_local_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:734:9
[INFO] [stdout]     |
[INFO] [stdout] 734 |         &mut channel,
[INFO] [stdout]     |         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:741:40
[INFO] [stdout]     |
[INFO] [stdout] 741 |       debug_to_file(&txn_alice, &channel.borrow(), "debug3").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 741 |     debug_to_file(&txn_alice, &channel.borrow(), "debug3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 741 |     debug_to_file(&txn_alice, &channel.borrow(), "debug3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 741 |     debug_to_file(&txn_alice, &channel.borrow(), "debug3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:743:63
[INFO] [stdout]     |
[INFO] [stdout] 743 |       let (alive, reachable) = check_alive(&txn_alice, &channel.borrow().graph);
[INFO] [stdout]     |                                                                 ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:743:30
[INFO] [stdout]     |
[INFO] [stdout] 743 |     let (alive, reachable) = check_alive(&txn_alice, &channel.borrow().graph);
[INFO] [stdout]     |                              ^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:930:23
[INFO] [stdout]     |
[INFO] [stdout] 930 | pub fn check_alive<T: ChannelTxnT + GraphIter>(
[INFO] [stdout]     |                       ----------- required by this bound in `pristine::check_alive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:743:30
[INFO] [stdout]     |
[INFO] [stdout] 743 |     let (alive, reachable) = check_alive(&txn_alice, &channel.borrow().graph);
[INFO] [stdout]     |                              ^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:930:37
[INFO] [stdout]     |
[INFO] [stdout] 930 | pub fn check_alive<T: ChannelTxnT + GraphIter>(
[INFO] [stdout]     |                                     --------- required by this bound in `pristine::check_alive`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:743:30
[INFO] [stdout]     |
[INFO] [stdout] 743 |     let (alive, reachable) = check_alive(&txn_alice, &channel.borrow().graph);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:768:9
[INFO] [stdout]     |
[INFO] [stdout] 768 |     txn.add_file("filedir").unwrap();
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:770:27
[INFO] [stdout]      |
[INFO] [stdout] 770  |     let mut channel = txn.open_or_create_channel("main").unwrap();
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:771:5
[INFO] [stdout]     |
[INFO] [stdout] 771 |     record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:771:47
[INFO] [stdout]     |
[INFO] [stdout] 771 |     record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:775:9
[INFO] [stdout]     |
[INFO] [stdout] 775 |     txn.add_file("filedir/file").unwrap();
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:776:5
[INFO] [stdout]     |
[INFO] [stdout] 776 |     record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:776:47
[INFO] [stdout]     |
[INFO] [stdout] 776 |     record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:777:34
[INFO] [stdout]     |
[INFO] [stdout] 777 |       debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |                                    ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:777:5
[INFO] [stdout]     |
[INFO] [stdout] 777 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:777:5
[INFO] [stdout]     |
[INFO] [stdout] 777 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:777:5
[INFO] [stdout]     |
[INFO] [stdout] 777 |     debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:792:13
[INFO] [stdout]     |
[INFO] [stdout] 792 |         txn.add_file("dir/file")?;
[INFO] [stdout]     |             ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:793:31
[INFO] [stdout]      |
[INFO] [stdout] 793  |         let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:794:9
[INFO] [stdout]     |
[INFO] [stdout] 794 |         record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:794:58
[INFO] [stdout]     |
[INFO] [stdout] 794 |         record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:793:27
[INFO] [stdout]     |
[INFO] [stdout] 793 |         let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:795:38
[INFO] [stdout]     |
[INFO] [stdout] 795 |           debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:795:9
[INFO] [stdout]     |
[INFO] [stdout] 795 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:795:9
[INFO] [stdout]     |
[INFO] [stdout] 795 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:795:9
[INFO] [stdout]     |
[INFO] [stdout] 795 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:796:58
[INFO] [stdout]     |
[INFO] [stdout] 796 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                                                          ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:453:29
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn iter_working_copy<T: TreeTxnT>(txn: &T, root: Inode) -> WorkingCopyIterator<T> {
[INFO] [stdout]     |                             -------- required by this bound in `iter_working_copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map` exists for struct `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:797:14
[INFO] [stdout]     |
[INFO] [stdout] 797 |               .map(|n| n.unwrap().1)
[INFO] [stdout]     |                ^^^ method cannot be called on `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 |   pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `map` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             which is required by `&mut WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:796:29
[INFO] [stdout]     |
[INFO] [stdout] 796 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:41
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:814:31
[INFO] [stdout]      |
[INFO] [stdout] 814  |         let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:815:9
[INFO] [stdout]     |
[INFO] [stdout] 815 |         record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:815:58
[INFO] [stdout]     |
[INFO] [stdout] 815 |         record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:814:27
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:816:38
[INFO] [stdout]     |
[INFO] [stdout] 816 |           debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:816:9
[INFO] [stdout]     |
[INFO] [stdout] 816 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:816:9
[INFO] [stdout]     |
[INFO] [stdout] 816 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:816:9
[INFO] [stdout]     |
[INFO] [stdout] 816 |         debug_to_file(&txn, &channel.borrow(), "debug").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:817:58
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                                                          ^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:453:29
[INFO] [stdout]     |
[INFO] [stdout] 453 | pub fn iter_working_copy<T: TreeTxnT>(txn: &T, root: Inode) -> WorkingCopyIterator<T> {
[INFO] [stdout]     |                             -------- required by this bound in `iter_working_copy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `map` exists for struct `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:818:14
[INFO] [stdout]     |
[INFO] [stdout] 818 |               .map(|n| n.unwrap().1)
[INFO] [stdout]     |                ^^^ method cannot be called on `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:1
[INFO] [stdout]     |
[INFO] [stdout] 406 |   pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |   -------------------------------------------------
[INFO] [stdout]     |   |
[INFO] [stdout]     |   method `map` not found for this
[INFO] [stdout]     |   doesn't satisfy `_: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT`
[INFO] [stdout]             which is required by `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             `WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout]             which is required by `&mut WorkingCopyIterator<'_, Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>: Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:817:29
[INFO] [stdout]     |
[INFO] [stdout] 817 |         let files: Vec<_> = crate::fs::iter_working_copy(&txn, Inode::ROOT)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/fs.rs:406:41
[INFO] [stdout]     |
[INFO] [stdout] 406 | pub struct WorkingCopyIterator<'txn, T: TreeTxnT> {
[INFO] [stdout]     |                                         -------- required by this bound in `WorkingCopyIterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:834:27
[INFO] [stdout]      |
[INFO] [stdout] 834  |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:835:13
[INFO] [stdout]     |
[INFO] [stdout] 835 |     assert!(record_all_output(&mut repo, &changes, &mut txn, &mut channel, "dir").is_err());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:835:62
[INFO] [stdout]     |
[INFO] [stdout] 835 |     assert!(record_all_output(&mut repo, &changes, &mut txn, &mut channel, "dir").is_err());
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:834:23
[INFO] [stdout]     |
[INFO] [stdout] 834 |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/add_file.rs:848:27
[INFO] [stdout]      |
[INFO] [stdout] 848  |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/add_file.rs:851:9
[INFO] [stdout]     |
[INFO] [stdout] 851 |     txn.add_file("file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:852:5
[INFO] [stdout]     |
[INFO] [stdout] 852 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:852:54
[INFO] [stdout]     |
[INFO] [stdout] 852 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:848:23
[INFO] [stdout]     |
[INFO] [stdout] 848 |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:854:5
[INFO] [stdout]     |
[INFO] [stdout] 854 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:80:25
[INFO] [stdout]     |
[INFO] [stdout] 80  | fn record_all_output<T: MutTxnT, R: WorkingCopy, P: ChangeStore + Clone + Send + 'static>(
[INFO] [stdout]     |                         ------- required by this bound in `tests::record_all_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/add_file.rs:854:54
[INFO] [stdout]     |
[INFO] [stdout] 854 |     record_all_output(&mut repo, &changes, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/change.rs:39:27
[INFO] [stdout]      |
[INFO] [stdout] 39   |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/change.rs:40:9
[INFO] [stdout]     |
[INFO] [stdout] 40  |     txn.add_file("file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/change.rs:41:9
[INFO] [stdout]     |
[INFO] [stdout] 41  |     txn.add_file("file2")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelMutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/change.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         .record(
[INFO] [stdout]    |          ^^^^^^ the trait `pristine::ChannelMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/change.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 |         .record(
[INFO] [stdout]    |          ^^^^^^ the trait `pristine::TreeTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/change.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |         .map(|rec| rec.globalize(&txn).unwrap())
[INFO] [stdout]    |                                  ^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]     --> src/tests/change.rs:61:19
[INFO] [stdout]      |
[INFO] [stdout] 61   |     let change0 = crate::change::Change::make_change(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      | 
[INFO] [stdout]     ::: src/change.rs:1166:41
[INFO] [stdout]      |
[INFO] [stdout] 1166 |     pub fn make_change<T: ChannelTxnT + DepsTxnT<DepsError = <T as GraphTxnT>::GraphError>>(
[INFO] [stdout]      |                                         -------------------------------------------------- required by this bound in `change::LocalChange::<L>::make_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::DepsTxnT` is not satisfied
[INFO] [stdout]     --> src/tests/change.rs:61:19
[INFO] [stdout]      |
[INFO] [stdout] 61   |     let change0 = crate::change::Change::make_change(
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::DepsTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      | 
[INFO] [stdout]     ::: src/change.rs:1166:50
[INFO] [stdout]      |
[INFO] [stdout] 1166 |     pub fn make_change<T: ChannelTxnT + DepsTxnT<DepsError = <T as GraphTxnT>::GraphError>>(
[INFO] [stdout]      |                                                  ---------------------------------------- required by this bound in `change::LocalChange::<L>::make_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelMutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:76:5
[INFO] [stdout]     |
[INFO] [stdout] 76  |     apply::apply_local_change(&mut txn, &mut channel, &change0, &hash0, &rec.updatables)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn apply_local_change<
[INFO] [stdout]     |        ------------------ required by a bound in this
[INFO] [stdout] 340 |     T: ChannelMutTxnT
[INFO] [stdout]     |        -------------- required by this bound in `apply_local_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::DepsMutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:76:5
[INFO] [stdout]     |
[INFO] [stdout] 76  |     apply::apply_local_change(&mut txn, &mut channel, &change0, &hash0, &rec.updatables)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::DepsMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn apply_local_change<
[INFO] [stdout]     |        ------------------ required by a bound in this
[INFO] [stdout] 340 |     T: ChannelMutTxnT
[INFO] [stdout] 341 |         + DepsMutTxnT<DepsError = <T as GraphTxnT>::GraphError>
[INFO] [stdout]     |           ----------------------------------------------------- required by this bound in `apply_local_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::TreeMutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:76:5
[INFO] [stdout]     |
[INFO] [stdout] 76  |     apply::apply_local_change(&mut txn, &mut channel, &change0, &hash0, &rec.updatables)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::TreeMutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:339:8
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub fn apply_local_change<
[INFO] [stdout]     |        ------------------ required by a bound in this
[INFO] [stdout] ...
[INFO] [stdout] 342 |         + TreeMutTxnT<TreeError = <T as GraphTxnT>::GraphError>,
[INFO] [stdout]     |           ----------------------------------------------------- required by this bound in `apply_local_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:76:41
[INFO] [stdout]     |
[INFO] [stdout] 76  |     apply::apply_local_change(&mut txn, &mut channel, &change0, &hash0, &rec.updatables)?;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:80:5
[INFO] [stdout]     |
[INFO] [stdout] 80  |     debug_to_file(&txn, &channel.borrow(), "debug")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:80:5
[INFO] [stdout]     |
[INFO] [stdout] 80  |     debug_to_file(&txn, &channel.borrow(), "debug")?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/change.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     debug_to_file(&txn, &channel.borrow(), "debug")?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/change.rs:146:27
[INFO] [stdout]      |
[INFO] [stdout] 146  |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/change.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     txn.add_file("file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/change.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     txn.add_file("file2")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:149:25
[INFO] [stdout]     |
[INFO] [stdout] 85  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::change::record_all`
[INFO] [stdout] ...
[INFO] [stdout] 149 |     let (h0, change0) = record_all(&mut repo, &store, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                         ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:149:65
[INFO] [stdout]     |
[INFO] [stdout] 149 |     let (h0, change0) = record_all(&mut repo, &store, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:146:23
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let mut channel = txn.open_or_create_channel("main")?;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:156:25
[INFO] [stdout]     |
[INFO] [stdout] 85  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::change::record_all`
[INFO] [stdout] ...
[INFO] [stdout] 156 |     let (h1, change1) = record_all(&mut repo, &store, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                         ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:156:65
[INFO] [stdout]     |
[INFO] [stdout] 156 |     let (h1, change1) = record_all(&mut repo, &store, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:160:25
[INFO] [stdout]     |
[INFO] [stdout] 85  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::change::record_all`
[INFO] [stdout] ...
[INFO] [stdout] 160 |     let (h2, change2) = record_all(&mut repo, &store, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                         ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:160:65
[INFO] [stdout]     |
[INFO] [stdout] 160 |     let (h2, change2) = record_all(&mut repo, &store, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/change.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     txn.move_file("file", "file3")?;
[INFO] [stdout]     |         ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:165:25
[INFO] [stdout]     |
[INFO] [stdout] 85  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::change::record_all`
[INFO] [stdout] ...
[INFO] [stdout] 165 |     let (h3, change3) = record_all(&mut repo, &store, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                         ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:165:65
[INFO] [stdout]     |
[INFO] [stdout] 165 |     let (h3, change3) = record_all(&mut repo, &store, &mut txn, &mut channel, "")?;
[INFO] [stdout]     |                                                                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/change.rs:171:29
[INFO] [stdout]      |
[INFO] [stdout] 171  |     let mut channel2 = txn2.open_or_create_channel("main")?;
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h0)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:174:44
[INFO] [stdout]     |
[INFO] [stdout] 174 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h0)?;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 174 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h0)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:171:24
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let mut channel2 = txn2.open_or_create_channel("main")?;
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h1)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:175:44
[INFO] [stdout]     |
[INFO] [stdout] 175 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h1)?;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h1)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h2)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:176:44
[INFO] [stdout]     |
[INFO] [stdout] 176 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h2)?;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:176:5
[INFO] [stdout]     |
[INFO] [stdout] 176 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h2)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |         &mut channel2,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 | /     output::output_repository_no_pending(
[INFO] [stdout] 178 | |         &mut repo2,
[INFO] [stdout] 179 | |         &store,
[INFO] [stdout] 180 | |         &mut txn2,
[INFO] [stdout] ...   |
[INFO] [stdout] 184 | |         None,
[INFO] [stdout] 185 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `move_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/change.rs:187:10
[INFO] [stdout]     |
[INFO] [stdout] 187 |     txn2.move_file("file", "file4")?;
[INFO] [stdout]     |          ^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `move_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:188:18
[INFO] [stdout]     |
[INFO] [stdout] 85  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::change::record_all`
[INFO] [stdout] ...
[INFO] [stdout] 188 |     let (_, _) = record_all(&mut repo2, &store, &mut txn2, &mut channel2, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:188:60
[INFO] [stdout]     |
[INFO] [stdout] 188 |     let (_, _) = record_all(&mut repo2, &store, &mut txn2, &mut channel2, "")?;
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h3)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:190:44
[INFO] [stdout]     |
[INFO] [stdout] 190 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h3)?;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 190 |     apply::apply_change(&store, &mut txn2, &mut channel2, &h3)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         &mut channel2,
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 | /     output::output_repository_no_pending(
[INFO] [stdout] 192 | |         &mut repo2,
[INFO] [stdout] 193 | |         &store,
[INFO] [stdout] 194 | |         &mut txn2,
[INFO] [stdout] ...   |
[INFO] [stdout] 198 | |         None,
[INFO] [stdout] 199 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:200:25
[INFO] [stdout]     |
[INFO] [stdout] 85  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::change::record_all`
[INFO] [stdout] ...
[INFO] [stdout] 200 |     let (h, solution) = record_all(&mut repo2, &store, &mut txn2, &mut channel2, "")?;
[INFO] [stdout]     |                         ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/change.rs:200:67
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let (h, solution) = record_all(&mut repo2, &store, &mut txn2, &mut channel2, "")?;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:19:31
[INFO] [stdout]      |
[INFO] [stdout] 19   |         let mut channel = txn.open_or_create_channel("main").unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/clone.rs:21:13
[INFO] [stdout]     |
[INFO] [stdout] 21  |         txn.add_file("file")?;
[INFO] [stdout]     |             ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:22:31
[INFO] [stdout]    |
[INFO] [stdout] 22 |         recorded_changes.push(record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap());
[INFO] [stdout]    |                               ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:22:73
[INFO] [stdout]     |
[INFO] [stdout] 22  |         recorded_changes.push(record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap());
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:23:38
[INFO] [stdout]     |
[INFO] [stdout] 23  |           debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:23:9
[INFO] [stdout]     |
[INFO] [stdout] 23  |         debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:23:9
[INFO] [stdout]     |
[INFO] [stdout] 23  |         debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |         debug_to_file(&txn, &channel.borrow(), "debug0").unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:29:31
[INFO] [stdout]    |
[INFO] [stdout] 29 |         recorded_changes.push(record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap());
[INFO] [stdout]    |                               ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:29:73
[INFO] [stdout]     |
[INFO] [stdout] 29  |         recorded_changes.push(record_all(&mut repo, &changes, &mut txn, &mut channel, "").unwrap());
[INFO] [stdout]     |                                                                         ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:30:38
[INFO] [stdout]     |
[INFO] [stdout] 30  |           debug_to_file(&txn, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:30:9
[INFO] [stdout]     |
[INFO] [stdout] 30  |         debug_to_file(&txn, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:30:9
[INFO] [stdout]     |
[INFO] [stdout] 30  |         debug_to_file(&txn, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         debug_to_file(&txn, &channel.borrow(), "debug1").unwrap();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:32:9
[INFO] [stdout]      |
[INFO] [stdout] 32   |     txn.commit().unwrap();
[INFO] [stdout]      |         ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:51:32
[INFO] [stdout]      |
[INFO] [stdout] 51   |         let mut channel = txn2.open_or_create_channel("main2").unwrap();
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:54:13
[INFO] [stdout]     |
[INFO] [stdout] 54  |             apply::apply_change(&changes, &mut txn2, &mut channel, h).unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:54:54
[INFO] [stdout]     |
[INFO] [stdout] 54  |             apply::apply_change(&changes, &mut txn2, &mut channel, h).unwrap();
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |             apply::apply_change(&changes, &mut txn2, &mut channel, h).unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:55:43
[INFO] [stdout]     |
[INFO] [stdout] 55  |               debug_to_file(&txn2, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |                                             ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:55:13
[INFO] [stdout]     |
[INFO] [stdout] 55  |             debug_to_file(&txn2, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:55:13
[INFO] [stdout]     |
[INFO] [stdout] 55  |             debug_to_file(&txn2, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             debug_to_file(&txn2, &channel.borrow(), "debug2").unwrap();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             output::output_repository_no_pending(
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/output/output.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:60:17
[INFO] [stdout]     |
[INFO] [stdout] 60  |                 &mut channel,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 | /             output::output_repository_no_pending(
[INFO] [stdout] 57 | |                 &mut repo2,
[INFO] [stdout] 58 | |                 &changes,
[INFO] [stdout] 59 | |                 &mut txn2,
[INFO] [stdout] ...  |
[INFO] [stdout] 63 | |                 None,
[INFO] [stdout] 64 | |             )
[INFO] [stdout]    | |_____________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:72:10
[INFO] [stdout]      |
[INFO] [stdout] 72   |     txn2.commit().unwrap();
[INFO] [stdout]      |          ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:91:31
[INFO] [stdout]      |
[INFO] [stdout] 91   |         let mut channel = txn.open_or_create_channel("main").unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/clone.rs:92:13
[INFO] [stdout]     |
[INFO] [stdout] 92  |         txn.add_file("a/b/c/d")?;
[INFO] [stdout]     |             ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/clone.rs:93:13
[INFO] [stdout]     |
[INFO] [stdout] 93  |         txn.add_file("e/f/g/h")?;
[INFO] [stdout]     |             ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/clone.rs:94:13
[INFO] [stdout]     |
[INFO] [stdout] 94  |         txn.add_file("i/j/k/l")?;
[INFO] [stdout]     |             ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/clone.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         record_all(&mut repo, &changes, &mut txn, &mut channel, "")?
[INFO] [stdout]    |         ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:95:51
[INFO] [stdout]     |
[INFO] [stdout] 95  |         record_all(&mut repo, &changes, &mut txn, &mut channel, "")?
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:98:31
[INFO] [stdout]      |
[INFO] [stdout] 98   |         let mut channel = txn.open_or_create_channel("main").unwrap();
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |         record_all(&mut repo, &changes, &mut txn, &mut channel, "a/b/c/d")?
[INFO] [stdout]     |         ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:107:51
[INFO] [stdout]     |
[INFO] [stdout] 107 |         record_all(&mut repo, &changes, &mut txn, &mut channel, "a/b/c/d")?
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:110:9
[INFO] [stdout]      |
[INFO] [stdout] 110  |     txn.commit().unwrap();
[INFO] [stdout]      |         ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:118:32
[INFO] [stdout]      |
[INFO] [stdout] 118  |         let mut channel = txn2.open_or_create_channel("main2").unwrap();
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         apply::apply_change(&changes, &mut txn2, &mut channel, &h).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:119:50
[INFO] [stdout]     |
[INFO] [stdout] 119 |         apply::apply_change(&changes, &mut txn2, &mut channel, &h).unwrap();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         apply::apply_change(&changes, &mut txn2, &mut channel, &h).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         output::output_repository_no_pending(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 |             &mut channel,
[INFO] [stdout]     |             ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 | /         output::output_repository_no_pending(
[INFO] [stdout] 121 | |             &mut repo2,
[INFO] [stdout] 122 | |             &changes,
[INFO] [stdout] 123 | |             &mut txn2,
[INFO] [stdout] ...   |
[INFO] [stdout] 127 | |             None,
[INFO] [stdout] 128 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         apply::apply_change(&changes, &mut txn2, &mut channel, &h2).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:137:50
[INFO] [stdout]     |
[INFO] [stdout] 137 |         apply::apply_change(&changes, &mut txn2, &mut channel, &h2).unwrap();
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         apply::apply_change(&changes, &mut txn2, &mut channel, &h2).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         output::output_repository_no_pending(
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |             &mut channel,
[INFO] [stdout]     |             ^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/clone.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 | /         output::output_repository_no_pending(
[INFO] [stdout] 139 | |             &mut repo2,
[INFO] [stdout] 140 | |             &changes,
[INFO] [stdout] 141 | |             &mut txn2,
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |             None,
[INFO] [stdout] 146 | |         )?;
[INFO] [stdout]     | |_________^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `commit` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:154:10
[INFO] [stdout]      |
[INFO] [stdout] 154  |     txn2.commit().unwrap();
[INFO] [stdout]      |          ^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `commit`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/clone.rs:156:10
[INFO] [stdout]      |
[INFO] [stdout] 156  |     txn2.open_or_create_channel("main2").unwrap();
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/conflict.rs:17:33
[INFO] [stdout]      |
[INFO] [stdout] 17   |     let mut channel_alice = txn.open_or_create_channel("alice")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/conflict.rs:18:9
[INFO] [stdout]     |
[INFO] [stdout] 18  |     txn.add_file("file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let init_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]    |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:19:66
[INFO] [stdout]     |
[INFO] [stdout] 19  |     let init_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:17:29
[INFO] [stdout]     |
[INFO] [stdout] 17  |     let mut channel_alice = txn.open_or_create_channel("alice")?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:20:40
[INFO] [stdout]     |
[INFO] [stdout] 20  |       debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:20:5
[INFO] [stdout]     |
[INFO] [stdout] 20  |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:20:5
[INFO] [stdout]     |
[INFO] [stdout] 20  |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/conflict.rs:24:31
[INFO] [stdout]      |
[INFO] [stdout] 24   |     let mut channel_bob = txn.open_or_create_channel("bob")?;
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:25:5
[INFO] [stdout]     |
[INFO] [stdout] 25  |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:25:45
[INFO] [stdout]     |
[INFO] [stdout] 25  |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout] 24  |     let mut channel_bob = txn.open_or_create_channel("bob")?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     output::output_repository_no_pending(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/output/output.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:30:9
[INFO] [stdout]     |
[INFO] [stdout] 30  |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | /     output::output_repository_no_pending(
[INFO] [stdout] 27 | |         &mut repo_bob,
[INFO] [stdout] 28 | |         &changes,
[INFO] [stdout] 29 | |         &mut txn,
[INFO] [stdout] ...  |
[INFO] [stdout] 33 | |         None,
[INFO] [stdout] 34 | |     )?;
[INFO] [stdout]    | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:47:40
[INFO] [stdout]     |
[INFO] [stdout] 47  |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:47:5
[INFO] [stdout]     |
[INFO] [stdout] 47  |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:47:5
[INFO] [stdout]     |
[INFO] [stdout] 47  |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:48:38
[INFO] [stdout]     |
[INFO] [stdout] 48  |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:48:5
[INFO] [stdout]     |
[INFO] [stdout] 48  |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:48:5
[INFO] [stdout]     |
[INFO] [stdout] 48  |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let bob_h = record_all(&mut repo_bob, &changes, &mut txn, &mut channel_bob, "")?;
[INFO] [stdout]    |                 ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:49:63
[INFO] [stdout]     |
[INFO] [stdout] 49  |     let bob_h = record_all(&mut repo_bob, &changes, &mut txn, &mut channel_bob, "")?;
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:50:38
[INFO] [stdout]     |
[INFO] [stdout] 50  |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:50:5
[INFO] [stdout]     |
[INFO] [stdout] 50  |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:50:5
[INFO] [stdout]     |
[INFO] [stdout] 50  |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:57:19
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let alice_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]    |                   ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/tests/mod.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:57:67
[INFO] [stdout]     |
[INFO] [stdout] 57  |     let alice_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:58:40
[INFO] [stdout]     |
[INFO] [stdout] 58  |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:58:5
[INFO] [stdout]     |
[INFO] [stdout] 58  |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:58:5
[INFO] [stdout]     |
[INFO] [stdout] 58  |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:61:5
[INFO] [stdout]     |
[INFO] [stdout] 61  |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:61:45
[INFO] [stdout]     |
[INFO] [stdout] 61  |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     output::output_repository_no_pending(
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]    | 
[INFO] [stdout]   ::: src/output/output.rs:30:40
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]    |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:66:9
[INFO] [stdout]     |
[INFO] [stdout] 66  |         &mut channel_alice,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]   --> src/tests/conflict.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | /     output::output_repository_no_pending(
[INFO] [stdout] 63 | |         &mut repo_alice,
[INFO] [stdout] 64 | |         &changes,
[INFO] [stdout] 65 | |         &mut txn,
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |         None,
[INFO] [stdout] 70 | |     )?;
[INFO] [stdout]    | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:117:22
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let resolution = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                      ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:117:70
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let resolution = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:118:40
[INFO] [stdout]     |
[INFO] [stdout] 118 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:121:45
[INFO] [stdout]     |
[INFO] [stdout] 121 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | /     output::output_repository_no_pending(
[INFO] [stdout] 123 | |         &mut repo_bob,
[INFO] [stdout] 124 | |         &changes,
[INFO] [stdout] 125 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 129 | |         None,
[INFO] [stdout] 130 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:131:38
[INFO] [stdout]     |
[INFO] [stdout] 131 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:137:45
[INFO] [stdout]     |
[INFO] [stdout] 137 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 | /     output::output_repository_no_pending(
[INFO] [stdout] 139 | |         &mut repo_bob,
[INFO] [stdout] 140 | |         &changes,
[INFO] [stdout] 141 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |         None,
[INFO] [stdout] 146 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:147:38
[INFO] [stdout]     |
[INFO] [stdout] 147 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     crate::unrecord::unrecord(&mut txn, &mut channel_bob, &changes, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/unrecord/mod.rs:47:20
[INFO] [stdout]     |
[INFO] [stdout] 47  | pub fn unrecord<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                    ------- required by this bound in `unrecord`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:152:41
[INFO] [stdout]     |
[INFO] [stdout] 152 |     crate::unrecord::unrecord(&mut txn, &mut channel_bob, &changes, &resolution).unwrap();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     crate::unrecord::unrecord(&mut txn, &mut channel_bob, &changes, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:153:38
[INFO] [stdout]     |
[INFO] [stdout] 153 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob3").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob3").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 | /     output::output_repository_no_pending(
[INFO] [stdout] 155 | |         &mut repo_bob,
[INFO] [stdout] 156 | |         &changes,
[INFO] [stdout] 157 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 161 | |         None,
[INFO] [stdout] 162 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/conflict.rs:183:33
[INFO] [stdout]      |
[INFO] [stdout] 183  |     let mut channel_alice = txn.open_or_create_channel("alice")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/conflict.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     txn.add_file("file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:185:18
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let init_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:185:66
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let init_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:183:29
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let mut channel_alice = txn.open_or_create_channel("alice")?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:186:40
[INFO] [stdout]     |
[INFO] [stdout] 186 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/conflict.rs:190:31
[INFO] [stdout]      |
[INFO] [stdout] 190  |     let mut channel_bob = txn.open_or_create_channel("bob")?;
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:191:45
[INFO] [stdout]     |
[INFO] [stdout] 191 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:191:5
[INFO] [stdout]     |
[INFO] [stdout] 191 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:190:27
[INFO] [stdout]     |
[INFO] [stdout] 190 |     let mut channel_bob = txn.open_or_create_channel("bob")?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 196 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | /     output::output_repository_no_pending(
[INFO] [stdout] 193 | |         &mut repo_bob,
[INFO] [stdout] 194 | |         &changes,
[INFO] [stdout] 195 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 199 | |         None,
[INFO] [stdout] 200 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/conflict.rs:210:35
[INFO] [stdout]      |
[INFO] [stdout] 210  |     let mut channel_charlie = txn.open_or_create_channel("charlie")?;
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &init_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:211:45
[INFO] [stdout]     |
[INFO] [stdout] 211 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &init_h)?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:211:5
[INFO] [stdout]     |
[INFO] [stdout] 211 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &init_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |     let mut channel_charlie = txn.open_or_create_channel("charlie")?;
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 216 |         &mut channel_charlie,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 212 | /     output::output_repository_no_pending(
[INFO] [stdout] 213 | |         &mut repo_charlie,
[INFO] [stdout] 214 | |         &changes,
[INFO] [stdout] 215 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |         None,
[INFO] [stdout] 220 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:227:40
[INFO] [stdout]     |
[INFO] [stdout] 227 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let bob_h = record_all(&mut repo_bob, &changes, &mut txn, &mut channel_bob, "")?;
[INFO] [stdout]     |                 ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:229:63
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let bob_h = record_all(&mut repo_bob, &changes, &mut txn, &mut channel_bob, "")?;
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:230:38
[INFO] [stdout]     |
[INFO] [stdout] 230 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:237:21
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let charlie_h = record_all(
[INFO] [stdout]     |                     ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |         &mut channel_charlie,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:244:42
[INFO] [stdout]     |
[INFO] [stdout] 244 |       debug_to_file(&txn, &channel_charlie.borrow(), "debug_charlie0").unwrap();
[INFO] [stdout]     |                                            ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     debug_to_file(&txn, &channel_charlie.borrow(), "debug_charlie0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     debug_to_file(&txn, &channel_charlie.borrow(), "debug_charlie0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:244:5
[INFO] [stdout]     |
[INFO] [stdout] 244 |     debug_to_file(&txn, &channel_charlie.borrow(), "debug_charlie0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:251:19
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let alice_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:251:67
[INFO] [stdout]     |
[INFO] [stdout] 251 |     let alice_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:252:40
[INFO] [stdout]     |
[INFO] [stdout] 252 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:252:5
[INFO] [stdout]     |
[INFO] [stdout] 252 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:255:45
[INFO] [stdout]     |
[INFO] [stdout] 255 |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:255:5
[INFO] [stdout]     |
[INFO] [stdout] 255 |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |         &mut channel_alice,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 | /     output::output_repository_no_pending(
[INFO] [stdout] 257 | |         &mut repo_alice,
[INFO] [stdout] 258 | |         &changes,
[INFO] [stdout] 259 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |         None,
[INFO] [stdout] 264 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:292:40
[INFO] [stdout]     |
[INFO] [stdout] 292 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:292:5
[INFO] [stdout]     |
[INFO] [stdout] 292 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:305:22
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let resolution = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                      ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:305:70
[INFO] [stdout]     |
[INFO] [stdout] 305 |     let resolution = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:306:40
[INFO] [stdout]     |
[INFO] [stdout] 306 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 306 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 306 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 306 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:309:5
[INFO] [stdout]     |
[INFO] [stdout] 309 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:309:45
[INFO] [stdout]     |
[INFO] [stdout] 309 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:309:5
[INFO] [stdout]     |
[INFO] [stdout] 309 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &charlie_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:310:45
[INFO] [stdout]     |
[INFO] [stdout] 310 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &charlie_h).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:310:5
[INFO] [stdout]     |
[INFO] [stdout] 310 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &charlie_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 | /     output::output_repository_no_pending(
[INFO] [stdout] 312 | |         &mut repo_bob,
[INFO] [stdout] 313 | |         &changes,
[INFO] [stdout] 314 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 318 | |         None,
[INFO] [stdout] 319 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:320:38
[INFO] [stdout]     |
[INFO] [stdout] 320 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:325:45
[INFO] [stdout]     |
[INFO] [stdout] 325 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:326:5
[INFO] [stdout]     |
[INFO] [stdout] 326 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 330 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:326:5
[INFO] [stdout]     |
[INFO] [stdout] 326 | /     output::output_repository_no_pending(
[INFO] [stdout] 327 | |         &mut repo_bob,
[INFO] [stdout] 328 | |         &changes,
[INFO] [stdout] 329 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 333 | |         None,
[INFO] [stdout] 334 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:364:23
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let resolution2 = record_all(&mut repo_bob, &changes, &mut txn, &mut channel_bob, "")?;
[INFO] [stdout]     |                       ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:364:69
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let resolution2 = record_all(&mut repo_bob, &changes, &mut txn, &mut channel_bob, "")?;
[INFO] [stdout]     |                                                                     ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &alice_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:367:45
[INFO] [stdout]     |
[INFO] [stdout] 367 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &alice_h).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:367:5
[INFO] [stdout]     |
[INFO] [stdout] 367 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &alice_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &bob_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:368:45
[INFO] [stdout]     |
[INFO] [stdout] 368 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &bob_h).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &bob_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 369 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:373:9
[INFO] [stdout]     |
[INFO] [stdout] 373 |         &mut channel_charlie,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:369:5
[INFO] [stdout]     |
[INFO] [stdout] 369 | /     output::output_repository_no_pending(
[INFO] [stdout] 370 | |         &mut repo_charlie,
[INFO] [stdout] 371 | |         &changes,
[INFO] [stdout] 372 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 376 | |         None,
[INFO] [stdout] 377 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:378:42
[INFO] [stdout]     |
[INFO] [stdout] 378 |       debug_to_file(&txn, &channel_charlie.borrow(), "debug_charlie1").unwrap();
[INFO] [stdout]     |                                            ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 |     debug_to_file(&txn, &channel_charlie.borrow(), "debug_charlie1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 |     debug_to_file(&txn, &channel_charlie.borrow(), "debug_charlie1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:378:5
[INFO] [stdout]     |
[INFO] [stdout] 378 |     debug_to_file(&txn, &channel_charlie.borrow(), "debug_charlie1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:383:45
[INFO] [stdout]     |
[INFO] [stdout] 383 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &resolution).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 383 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &resolution2).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:384:45
[INFO] [stdout]     |
[INFO] [stdout] 384 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &resolution2).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     apply::apply_change(&changes, &mut txn, &mut channel_charlie, &resolution2).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 385 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 389 |         &mut channel_charlie,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:385:5
[INFO] [stdout]     |
[INFO] [stdout] 385 | /     output::output_repository_no_pending(
[INFO] [stdout] 386 | |         &mut repo_charlie,
[INFO] [stdout] 387 | |         &changes,
[INFO] [stdout] 388 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 392 | |         None,
[INFO] [stdout] 393 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/conflict.rs:418:33
[INFO] [stdout]      |
[INFO] [stdout] 418  |     let mut channel_alice = txn.open_or_create_channel("alice")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/conflict.rs:419:9
[INFO] [stdout]     |
[INFO] [stdout] 419 |     txn.add_file("file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:420:18
[INFO] [stdout]     |
[INFO] [stdout] 420 |     let init_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:420:66
[INFO] [stdout]     |
[INFO] [stdout] 420 |     let init_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:418:29
[INFO] [stdout]     |
[INFO] [stdout] 418 |     let mut channel_alice = txn.open_or_create_channel("alice")?;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:421:40
[INFO] [stdout]     |
[INFO] [stdout] 421 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:421:5
[INFO] [stdout]     |
[INFO] [stdout] 421 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:421:5
[INFO] [stdout]     |
[INFO] [stdout] 421 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:421:5
[INFO] [stdout]     |
[INFO] [stdout] 421 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_init").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/conflict.rs:425:31
[INFO] [stdout]      |
[INFO] [stdout] 425  |     let mut channel_bob = txn.open_or_create_channel("bob")?;
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:426:5
[INFO] [stdout]     |
[INFO] [stdout] 426 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:426:45
[INFO] [stdout]     |
[INFO] [stdout] 426 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:426:5
[INFO] [stdout]     |
[INFO] [stdout] 426 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &init_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:425:27
[INFO] [stdout]     |
[INFO] [stdout] 425 |     let mut channel_bob = txn.open_or_create_channel("bob")?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 427 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:431:9
[INFO] [stdout]     |
[INFO] [stdout] 431 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:427:5
[INFO] [stdout]     |
[INFO] [stdout] 427 | /     output::output_repository_no_pending(
[INFO] [stdout] 428 | |         &mut repo_bob,
[INFO] [stdout] 429 | |         &changes,
[INFO] [stdout] 430 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 434 | |         None,
[INFO] [stdout] 435 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:443:40
[INFO] [stdout]     |
[INFO] [stdout] 443 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:443:5
[INFO] [stdout]     |
[INFO] [stdout] 443 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:443:5
[INFO] [stdout]     |
[INFO] [stdout] 443 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:443:5
[INFO] [stdout]     |
[INFO] [stdout] 443 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:444:38
[INFO] [stdout]     |
[INFO] [stdout] 444 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:444:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:444:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:444:5
[INFO] [stdout]     |
[INFO] [stdout] 444 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:445:17
[INFO] [stdout]     |
[INFO] [stdout] 445 |     let bob_h = record_all(&mut repo_bob, &changes, &mut txn, &mut channel_bob, "")?;
[INFO] [stdout]     |                 ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:445:63
[INFO] [stdout]     |
[INFO] [stdout] 445 |     let bob_h = record_all(&mut repo_bob, &changes, &mut txn, &mut channel_bob, "")?;
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:446:38
[INFO] [stdout]     |
[INFO] [stdout] 446 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 446 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 446 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:446:5
[INFO] [stdout]     |
[INFO] [stdout] 446 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:453:19
[INFO] [stdout]     |
[INFO] [stdout] 453 |     let alice_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                   ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:453:67
[INFO] [stdout]     |
[INFO] [stdout] 453 |     let alice_h = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                   ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:454:40
[INFO] [stdout]     |
[INFO] [stdout] 454 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:454:5
[INFO] [stdout]     |
[INFO] [stdout] 454 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:454:5
[INFO] [stdout]     |
[INFO] [stdout] 454 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:454:5
[INFO] [stdout]     |
[INFO] [stdout] 454 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice0").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:457:5
[INFO] [stdout]     |
[INFO] [stdout] 457 |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:457:45
[INFO] [stdout]     |
[INFO] [stdout] 457 |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:457:5
[INFO] [stdout]     |
[INFO] [stdout] 457 |     apply::apply_change(&changes, &mut txn, &mut channel_alice, &bob_h)?;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:458:5
[INFO] [stdout]     |
[INFO] [stdout] 458 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:462:9
[INFO] [stdout]     |
[INFO] [stdout] 462 |         &mut channel_alice,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:458:5
[INFO] [stdout]     |
[INFO] [stdout] 458 | /     output::output_repository_no_pending(
[INFO] [stdout] 459 | |         &mut repo_alice,
[INFO] [stdout] 460 | |         &changes,
[INFO] [stdout] 461 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 465 | |         None,
[INFO] [stdout] 466 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:467:40
[INFO] [stdout]     |
[INFO] [stdout] 467 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:467:5
[INFO] [stdout]     |
[INFO] [stdout] 467 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:493:22
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let resolution = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                      ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:493:70
[INFO] [stdout]     |
[INFO] [stdout] 493 |     let resolution = record_all(&mut repo_alice, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:494:40
[INFO] [stdout]     |
[INFO] [stdout] 494 |       debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |                                          ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:494:5
[INFO] [stdout]     |
[INFO] [stdout] 494 |     debug_to_file(&txn, &channel_alice.borrow(), "debug_alice2").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:497:5
[INFO] [stdout]     |
[INFO] [stdout] 497 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:497:45
[INFO] [stdout]     |
[INFO] [stdout] 497 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:497:5
[INFO] [stdout]     |
[INFO] [stdout] 497 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &alice_h).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:502:9
[INFO] [stdout]     |
[INFO] [stdout] 502 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:498:5
[INFO] [stdout]     |
[INFO] [stdout] 498 | /     output::output_repository_no_pending(
[INFO] [stdout] 499 | |         &mut repo_bob,
[INFO] [stdout] 500 | |         &changes,
[INFO] [stdout] 501 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 505 | |         None,
[INFO] [stdout] 506 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:507:38
[INFO] [stdout]     |
[INFO] [stdout] 507 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 507 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 507 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 507 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:511:5
[INFO] [stdout]     |
[INFO] [stdout] 511 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/apply.rs:184:24
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn apply_change<T: MutTxnT, P: ChangeStore>(
[INFO] [stdout]     |                        ------- required by this bound in `apply_change`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:511:45
[INFO] [stdout]     |
[INFO] [stdout] 511 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:511:5
[INFO] [stdout]     |
[INFO] [stdout] 511 |     apply::apply_change(&changes, &mut txn, &mut channel_bob, &resolution).unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:512:5
[INFO] [stdout]     |
[INFO] [stdout] 512 |     output::output_repository_no_pending(
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/output/output.rs:30:40
[INFO] [stdout]     |
[INFO] [stdout] 30  | pub fn output_repository_no_pending<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                                        ------- required by this bound in `output::output::output_repository_no_pending`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:516:9
[INFO] [stdout]     |
[INFO] [stdout] 516 |         &mut channel_bob,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:26
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |                          ----------- required by this bound in `pristine::ChannelRef`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:512:5
[INFO] [stdout]     |
[INFO] [stdout] 512 | /     output::output_repository_no_pending(
[INFO] [stdout] 513 | |         &mut repo_bob,
[INFO] [stdout] 514 | |         &changes,
[INFO] [stdout] 515 | |         &mut txn,
[INFO] [stdout] ...   |
[INFO] [stdout] 519 | |         None,
[INFO] [stdout] 520 | |     )?;
[INFO] [stdout]     | |_____^ the trait `pristine::GraphTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `borrow` exists for struct `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:521:38
[INFO] [stdout]     |
[INFO] [stdout] 521 |       debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |                                        ^^^^^^ method cannot be called on `pristine::ChannelRef<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>>` due to unsatisfied trait bounds
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:140:1
[INFO] [stdout]     |
[INFO] [stdout] 140 |   pub struct ChannelRef<T: ChannelTxnT> {
[INFO] [stdout]     |   ------------------------------------- method `borrow` not found for this
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT`
[INFO] [stdout]             `<Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error> as pristine::ChannelTxnT>::Channel = _`
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout]     = note: the following trait is implemented but not in scope; perhaps add a `use` for it:
[INFO] [stdout]             `use std::borrow::Borrow;`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::GraphIter` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:521:5
[INFO] [stdout]     |
[INFO] [stdout] 521 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::GraphIter` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:52
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                    --------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:521:5
[INFO] [stdout]     |
[INFO] [stdout] 521 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/pristine/mod.rs:855:64
[INFO] [stdout]     |
[INFO] [stdout] 855 | pub fn debug_to_file<P: AsRef<std::path::Path>, T: GraphIter + ChannelTxnT>(
[INFO] [stdout]     |                                                                ----------- required by this bound in `pristine::debug_to_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:521:5
[INFO] [stdout]     |
[INFO] [stdout] 521 |     debug_to_file(&txn, &channel_bob.borrow(), "debug_bob1").unwrap();
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `pristine::ChannelTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `open_or_create_channel` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]     --> src/tests/conflict.rs:542:33
[INFO] [stdout]      |
[INFO] [stdout] 542  |     let mut channel_alice = txn.open_or_create_channel("alice")?;
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]      |
[INFO] [stdout]      = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `pristine::MutTxnT` defines an item `open_or_create_channel`, perhaps you need to implement it
[INFO] [stdout]     --> src/pristine/mod.rs:1522:1
[INFO] [stdout]      |
[INFO] [stdout] 1522 | / pub trait MutTxnT:
[INFO] [stdout] 1523 | |     GraphMutTxnT
[INFO] [stdout] 1524 | |     + ChannelMutTxnT
[INFO] [stdout] 1525 | |     + DepsMutTxnT<DepsError = <Self as GraphTxnT>::GraphError>
[INFO] [stdout] ...    |
[INFO] [stdout] 1575 | |     fn drop_named_remote(&mut self, remote: &str) -> Result<bool, Self::GraphError>;
[INFO] [stdout] 1576 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for enum `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>` in the current scope
[INFO] [stdout]    --> src/tests/conflict.rs:543:9
[INFO] [stdout]     |
[INFO] [stdout] 543 |     txn.add_file("file")?;
[INFO] [stdout]     |         ^^^^^^^^ method not found in `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout] note: `MutTxnTExt` defines an item `add_file`, perhaps you need to implement it
[INFO] [stdout]    --> src/lib.rs:109:1
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub trait MutTxnTExt: pristine::MutTxnT {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::MutTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:544:18
[INFO] [stdout]     |
[INFO] [stdout] 544 |     let init_h = record_all(&mut repo, &changes, &mut txn, &mut channel_alice, "")?;
[INFO] [stdout]     |                  ^^^^^^^^^^ the trait `pristine::MutTxnT` is not implemented for `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>`
[INFO] [stdout]     | 
[INFO] [stdout]    ::: src/tests/mod.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout] 21  | fn record_all<T: MutTxnT, R: WorkingCopy, P: ChangeStore>(
[INFO] [stdout]     |                  ------- required by this bound in `tests::record_all`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Result<GenericTxn<sanakirja::MutTxn<Arc<sanakirja::Env>, ()>>, sanakirja::Error>: pristine::ChannelTxnT` is not satisfied
[INFO] [stdout]    --> src/tests/conflict.rs:544:60
[INFO] [stdout]     |
[WARN] too many lines in the log, truncating it
